package com.lagou.homework.modulethree.second;

import java.util.ArrayList;
import java.util.List;

/*
 * @className ListTest
 * @description: 定义List集合添加数据并完成测试
 * @author admin
 * @date 2022/3/26 13:14
 * */
public class WorkerListTest {
    public static void main(String[] args) {
        // 1.创建List类型的引用指向ArrayList类型的对象
        List<Worker> list = new ArrayList<>();

        // 2.向list集合中添加数据  "凤姐" 18 20000  "欧阳峰" 60 8000  "刘德华" 40 30000
        list.add(new Worker("凤姐", 18, 20000d));
        list.add(new Worker("欧阳锋", 60, 8000d));
        list.add(new Worker("刘德华", 40, 30000d));

        // 3.在"欧阳峰"之前插入一个员工，信息为：姓名："张柏芝"，年龄：35，工资3300  欧阳锋下标为1,所以在1的位置插入
        list.add(1, new Worker("张柏芝", 35, 3300d));

        // 4.删除刘德华信息
        // 通过对象删除
        //list.remove(new Worker("刘德华",40,30000d));
        // 通过下标删除
        list.remove(3);

        // 5.利用for 循环遍历，打印List 中所有员工的信息
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        // 6.利用迭代遍历，对List 中所有的员工调用work 方法
        for (Worker worker : list) {
            worker.work();
        }

        // 7.为Worker类重写equals 方法，当姓名、年龄、工资全部相等时候才返回true
        list.add(new Worker("刘德华", 40, 30000d)); //3
        list.add(new Worker("刘德华", 40, 33000d)); //4
        list.add(new Worker("刘德华", 40, 30000d)); //5
        boolean b1 = list.get(3).equals(list.get(4));
        System.out.println("b1 = " + b1);
        b1 = list.get(3).equals(list.get(5));
        System.out.println("b1 = " + b1);
    }
}
